-
Notifications
You must be signed in to change notification settings - Fork 13.9k
rewrite outlives placeholder constraints to outlives static when handling opaque types #147566
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rewrite outlives placeholder constraints to outlives static when handling opaque types #147566
Conversation
This comment has been minimized.
This comment has been minimized.
fd26c38
to
7ad74c0
Compare
This comment has been minimized.
This comment has been minimized.
7ad74c0
to
aea3cae
Compare
This comment has been minimized.
This comment has been minimized.
@bors try @rust-timer queue |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…<try> rewrite outlives placeholder constraints to outlives static when handling opaque types
) -> RegionCtxt<'a, 'tcx> { | ||
let mut outlives_constraints = constraints.outlives_constraints.clone(); | ||
let universal_regions = &universal_region_relations.universal_regions; | ||
let (definitions, _has_placeholders) = region_definitions(infcx, universal_regions); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
u're ignoring _has_placeholders
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
figured if perf was OK there'd be no point in complicating the flow of the logic with a perf opt based on whether there were placeholders or not
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
some small nits, r=me on the change
please also add a test to the same file which uses a for<'a> T: 'a
where bound instead of the for<'a> T: Outlives<'a>
.
That didn't regress but feels like the same pattern 😁
This comment has been minimized.
This comment has been minimized.
Finished benchmarking commit (53d5e63): comparison URL. Overall result: no relevant changes - no action neededBenchmarking this pull request means it may be perf-sensitive – we'll automatically label it not fit for rolling up. You can override this, but we strongly advise not to, due to possible changes in compiler perf. @bors rollup=never Instruction countThis benchmark run did not return any relevant results for this metric. Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary -2.4%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 473.739s -> 473.454s (-0.06%) |
c25dd85
to
e16f472
Compare
This comment has been minimized.
This comment has been minimized.
e16f472
to
30bedc7
Compare
@bors r+ rollup |
…utlives, r=lcnr rewrite outlives placeholder constraints to outlives static when handling opaque types Fixes rust-lang#147529 r? lcnr see test comment
Rollup of 7 pull requests Successful merges: - #144266 (Supress swapping lhs and rhs in equality suggestion in extern macro ) - #147471 (Assert that non-extended temporaries and `super let` bindings have scopes) - #147533 (Renumber return local after state transform) - #147566 (rewrite outlives placeholder constraints to outlives static when handling opaque types) - #147613 (Make logging filters work again by moving EnvFilter into its own layer) - #147615 (reduce calls to attr.span() in old doc attr parsing) - #147636 (miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Rollup of 7 pull requests Successful merges: - rust-lang/rust#144266 (Supress swapping lhs and rhs in equality suggestion in extern macro ) - rust-lang/rust#147471 (Assert that non-extended temporaries and `super let` bindings have scopes) - rust-lang/rust#147533 (Renumber return local after state transform) - rust-lang/rust#147566 (rewrite outlives placeholder constraints to outlives static when handling opaque types) - rust-lang/rust#147613 (Make logging filters work again by moving EnvFilter into its own layer) - rust-lang/rust#147615 (reduce calls to attr.span() in old doc attr parsing) - rust-lang/rust#147636 (miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Fixes #147529
r? lcnr
see test comment